interface userInfo{
    uuid:string | null,
    username: string | null,
    password: string | null,
    nickname: string | null,
    school: string | null,
    course: string | null,
    number: string | null,
    realname: string | null,
    gender: string | null,
    github:string | null,
    blog: string | null,
    cfUsername: string | null,
    email: string | null,
    avatar:string | null,
    signature: string | null,
    titleName:string | null,
    titleColor: string | null,
    status: number | null,
    gmtCreate: string | null,
    gmtModified: string | null,
    phone: string | null
  }

interface codeInfo{
  SubmissionID:string | null, /**代码ID */
  problemID:string | null;
  sourceCode:string | null, /**代码内容 */
  language:string |null, /**编程语言 */
  stdin:string | null, /**输入 */
  expectedOutput: string | null/**期望输出 */
}

interface JudgeResponse {
  status_code: number;
  lang: string;
  run_success: boolean;
  status_runtime: number;
  memory: number;
  display_runtime: string;
  question_id: string;
  elapsed_time: number;
  compare_result: string;
  code_output: string;
  std_output: string;
  last_testcase: string;
  expected_output: string;
  task_finish_time: number;
  task_name: string;
  finished: boolean;
  status_msg: string;
  state: string;
  fast_submit: boolean;
  total_correct: number;
  total_testcases: number;
  submission_id: string;
  runtime_percentile: number;
  status_memory: string;
  memory_percentile: number;
  pretty_lang: string;
}

interface JudgeCase extends codeInfo {

  caseStdin:Map<string, string>;

}

interface JudgeCaseResult {
  id: string;
  problemId: string;
  userId: string;
  caseId: string;
  sourceCode: string;
  stdin: string;
  expectedOutput: string;
  stdout: string;
  createTime: string;
  language: string;
}


export {userInfo,codeInfo,JudgeResponse,JudgeCase,JudgeCaseResult}

